home *** CD-ROM | disk | FTP | other *** search
/ EuroCD 3 / EuroCD 3.iso / Programming / SecalDemo / Inc / intuition / intuition.inc < prev    next >
Text File  |  1998-06-24  |  14KB  |  660 lines

  1. include "inc/exec/types.inc";
  2. include "inc/graphics/gfx.inc";
  3. include "inc/graphics/clip.inc";
  4. include "inc/graphics/view.inc";
  5. include "inc/graphics/rastport.inc";
  6. include "inc/graphics/layers.inc";
  7. include "inc/graphics/text.inc";
  8. include "inc/exec/ports.inc";
  9. include "inc/devices/inputevent.inc";
  10. include "inc/utility/tagitem.inc";
  11.  
  12. struct Menu is
  13.   NextMenu:ulong;
  14.   LeftEdge,TopEdge:word;
  15.   Width,Height:word;
  16.   Flags:uword;
  17.   MenuName:ulong;
  18.   FirstItem:ulong;
  19.   JazzX,JazzY,BeatX,BeatY:word;
  20. ;
  21.  
  22. def MENUENABLED = $0001;
  23.  
  24. def MIDRAWN = $0100;
  25.  
  26. struct MenuItem is
  27.   NextItem:ulong;
  28.   LeftEdge,TopEdge:word;
  29.   Width,Height:word;
  30.   Flags:uword;
  31.   MutualExclude:long;
  32.   ItemFill:ulong;
  33.   SelectFill:ulong;
  34.   Command:byte;
  35.   SubItem:ulong;
  36.   NextSelect:uword;
  37. ;
  38.  
  39. def CHECKIT = $0001;
  40. def ITEMTEXT = $0002;
  41. def COMMSEQ = $0004;
  42. def MENUTOGGLE = $0008;
  43. def ITEMENABLED = $0010;
  44.  
  45. def HIGHFLAGS = $00c0;
  46. def HIGHIMAGE = $0000;
  47. def HIGHCOMP = $0040;
  48. def HIGHBOX = $0080;
  49. def HIGHNONE = $00c0;
  50.  
  51. def CHECKED = $0100;
  52.  
  53. def ISDRAWN = $1000;
  54. def HIGHITEM = $2000;
  55. def MENUTOGGLED = $4000;
  56.  
  57. struct Requester is
  58.   OlderRequest:ulong;
  59.   LeftEdge,TopEdge:word;
  60.   Width,Height:word;
  61.   RelLeft,RelTop:word;
  62.   ReqGadget:ulong;
  63.   ReqBorder:ulong;
  64.   ReqText:ulong;
  65.   Flags:uword;
  66.   BackFill:ubyte;
  67.   ReqLayer:ulong;
  68.   ReqPad1[32]:ubyte;
  69.   ImageBMap:ulong;
  70.   RWindow:ulong;
  71.   ReqImage:ulong;
  72.   ReqPad2[32]:ubyte;
  73. ;
  74.  
  75. def POINTREL = $0001;
  76. def PREDRAWN = $0002;
  77. def NOISYREQ = $0004;
  78. def SIMPLEREQ = $0010;
  79. def USEREQIMAGE = $0020;
  80. def NOREQBACKFILL = $0040;
  81.  
  82. def REQOFFWINDOW = $1000;
  83. def REQACTIVE = $2000;
  84. def SYSREQUEST = $4000;
  85. def DEFERREFRESH = $8000;
  86.  
  87. struct Gadget is
  88.   NextGadget:ulong;
  89.   LeftEdge,TopEdge:word;
  90.   Width,Height:word;
  91.   Flags:uword;
  92.   Activation:uword;
  93.   GadgetType:uword;
  94.   GadgetRender:ulong;
  95.   SelectRender:ulong;
  96.   GadgetText:ulong;
  97.   MutualExclude:long;
  98.   SpecialInfo:ulong;
  99.   GadgetID:uword;
  100.   UserData:ulong;
  101. ;
  102.  
  103. struct ExtGadget is
  104.   NextGadget:ulong;
  105.   LeftEdge,TopEdge:word;
  106.   Width,Height:word;
  107.   Flags:uword;
  108.   Activation:uword;
  109.   GadgetType:uword;
  110.   GadgetRender:ulong;
  111.   SelectRender:ulong;
  112.   GadgetText:ulong;
  113.   MutualExclude:long;
  114.   SpecialInfo:ulong;
  115.   GadgetID:uword;
  116.   UserData:ulong;
  117.   MoreFlags:ulong;
  118.   BoundsLeftEdge:word;
  119.   BoundsTopEdge:word;
  120.   BoundsWidth:word;
  121.   BoundsHeight:word;
  122. ;
  123.  
  124. def GFLG_GADGHIGHBITS = $0003;
  125. def GFLG_GADGHCOMP = $0000;
  126. def GFLG_GADGHBOX = $0001;
  127. def GFLG_GADGHIMAGE = $0002;
  128. def GFLG_GADGHNONE = $0003;
  129. def GFLG_GADGIMAGE = $0004;
  130.  
  131. def GFLG_RELBOTTOM = $0008;
  132. def GFLG_RELRIGHT = $0010;
  133. def GFLG_RELWIDTH = $0020;
  134. def GFLG_RELHEIGHT = $0040;
  135.  
  136. def GFLG_RELSPECIAL = $4000;
  137. def GFLG_SELECTED = $0080;
  138.  
  139. def GFLG_DISABLED = $0100;
  140.  
  141. def GFLG_LABELMASK = $3000;
  142. def GFLG_LABELITEXT = $0000;
  143. def GFLG_LABELSTRING = $1000;
  144. def GFLG_LABELIMAGE = $2000;
  145.  
  146. def GFLG_TABCYCLE = $0200;
  147.  
  148. def GFLG_STRINGEXTEND = $0400;
  149.  
  150. def GFLG_IMAGEDISABLE = $0800;
  151.  
  152. def GFLG_EXTENDED = $8000;
  153.  
  154. def GACT_RELVERIFY = $0001;
  155.  
  156. def GACT_IMMEDIATE = $0002;
  157.  
  158. def GACT_ENDGADGET = $0004;
  159.  
  160. def GACT_FOLLOWMOUSE = $0008;
  161.  
  162. def GACT_RIGHTBORDER = $0010;
  163. def GACT_LEFTBORDER = $0020;
  164. def GACT_TOPBORDER = $0040;
  165. def GACT_BOTTOMBORDER = $0080;
  166. def GACT_BORDERSNIFF = $8000;
  167.  
  168. def GACT_TOGGLESELECT = $0100;
  169. def GACT_BOOLEXTEND = $2000;
  170.  
  171. def GACT_STRINGLEFT = $0000;
  172. def GACT_STRINGCENTER = $0200;
  173. def GACT_STRINGRIGHT = $0400;
  174. def GACT_LONGINT = $0800;
  175. def GACT_ALTKEYMAP = $1000;
  176. def GACT_STRINGEXTEND = $2000;
  177.  
  178. def GACT_ACTIVEGADGET = $4000;
  179.  
  180. def GTYP_GADGETTYPE = $fc00;
  181.  
  182. def GTYP_SCRGADGET = $4000;
  183. def GTYP_GZZGADGET = $2000;
  184. def GTYP_REQGADGET = $1000;
  185.  
  186. def GTYP_SYSGADGET = $8000;
  187. def GTYP_SYSTYPEMASK = $00f0;
  188.  
  189. def GTYP_SIZING = $0010;
  190. def GTYP_WDRAGGING = $0020;
  191. def GTYP_SDRAGGING = $0030;
  192. def GTYP_WDEPTH = $0040;
  193. def GTYP_SDEPTH = $0050;
  194. def GTYP_WZOOM = $0060;
  195. def GTYP_SUNUSED = $0070;
  196. def GTYP_CLOSE = $0080;
  197.  
  198. def GTYP_WUPFRONT = GTYP_WDEPTH;
  199. def GTYP_SUPFRONT = GTYP_SDEPTH;
  200. def GTYP_WDOWNBACK = GTYP_WZOOM;
  201. def GTYP_SDOWNBACK = GTYP_SUNUSED;
  202.  
  203. def GTYP_GTYPEMASK = $0007;
  204.  
  205. def GTYP_BOOLGADGET = $0001;
  206. def GTYP_GADGET0002 = $0002;
  207. def GTYP_PROPGADGET = $0003;
  208. def GTYP_STRGADGET = $0004;
  209. def GTYP_CUSTOMGADGET = $0005;
  210.  
  211. def GMORE_BOUNDS = $00000001;
  212. def GMORE_GADGETHELP = $00000002;
  213. def GMORE_SCROLLRASTER = $00000004;
  214.  
  215. struct BoolInfo is
  216.   Flags:uword;
  217.   Mask:ulong;
  218.   Reserved:ulong;
  219. ;
  220.  
  221. def BOOLMASK = $0001;
  222.  
  223. struct PropInfo is
  224.   Flags:uword;
  225.   HorizPot:uword;
  226.   VertPot:uword;
  227.   HorizBody:uword;
  228.   VertBody:uword;
  229.   CWidth:uword;
  230.   CHeight:uword;
  231.   HPotRes,VPotRes:uword;
  232.   LeftBorder:uword;
  233.   TopBorder:uword;
  234. ;
  235.  
  236. def AUTOKNOB = $0001;
  237. def FREEHORIZ = $0002;
  238. def FREEVERT = $0004;
  239. def PROPBORDERLESS = $0008;
  240. def KNOBHIT = $0100;
  241. def PROPNEWLOOK = $0010;
  242.  
  243. def KNOBHMIN = 6;
  244. def KNOBVMIN = 4;
  245. def MAXBODY = $ffff;
  246. def MAXPOT = $ffff;
  247.  
  248. struct StringInfo is
  249.   Buffer:ulong;
  250.   UndoBuffer:ulong;
  251.   BufferPos:word;
  252.   MaxChars:word;
  253.   DispPos:word;
  254.   UndoPos:word;
  255.   NumChars:word;
  256.   DispCount:word;
  257.   CLeft,CTop:word;
  258.   Extension:ulong;
  259.   LongInt:long;
  260.   AltKeyMap:ulong;
  261. ;
  262.  
  263. struct IntuiText is
  264.   FrontPen,BackPen:ubyte;
  265.   DrawMode:ubyte;
  266.   LeftEdge:word;
  267.   TopEdge:word;
  268.   ITextFont:ulong;
  269.   IText:ulong;
  270.   NextText:ulong;
  271. ;
  272.  
  273. struct Border is
  274.   LeftEdge,TopEdge:word;
  275.   FrontPen,BackPen:ubyte;
  276.   DrawMode:ubyte;
  277.   Count:byte;
  278.   XY:ulong;
  279.   NextBorder:ulong;
  280. ;
  281.  
  282. struct Image is
  283.   LeftEdge:word;
  284.   TopEdge:word;
  285.   Width:word;
  286.   Height:word;
  287.   Depth:word;
  288.   ImageData:ulong;
  289.   PlanePick,PlaneOnOff:ubyte;
  290.   NextImage:ulong;
  291. ;
  292.  
  293. struct IntuiMessage is
  294.   ExecMessage:Message;
  295.   Class:ulong;
  296.   Code:uword;
  297.   Qualifier:uword;
  298.   IAddress:ulong;
  299.   MouseX,MouseY:word;
  300.   Seconds,Micros:ulong;
  301.   IDCMPWindow:ulong;
  302.   SpecialLink:ulong;
  303. ;
  304.  
  305. struct ExtIntuiMessage is
  306.   eim_IntuiMessage:IntuiMessage;
  307.   eim_TabletData:ulong;
  308. ;
  309.  
  310. def IDCMP_SIZEVERIFY = $00000001;
  311. def IDCMP_NEWSIZE = $00000002;
  312. def IDCMP_REFRESHWINDOW = $00000004;
  313. def IDCMP_MOUSEBUTTONS = $00000008;
  314. def IDCMP_MOUSEMOVE = $00000010;
  315. def IDCMP_GADGETDOWN = $00000020;
  316. def IDCMP_GADGETUP = $00000040;
  317. def IDCMP_REQSET = $00000080;
  318. def IDCMP_MENUPICK = $00000100;
  319. def IDCMP_CLOSEWINDOW = $00000200;
  320. def IDCMP_RAWKEY = $00000400;
  321. def IDCMP_REQVERIFY = $00000800;
  322. def IDCMP_REQCLEAR = $00001000;
  323. def IDCMP_MENUVERIFY = $00002000;
  324. def IDCMP_NEWPREFS = $00004000;
  325. def IDCMP_DISKINSERTED = $00008000;
  326. def IDCMP_DISKREMOVED = $00010000;
  327. def IDCMP_WBENCHMESSAGE = $00020000;
  328. def IDCMP_ACTIVEWINDOW = $00040000;
  329. def IDCMP_INACTIVEWINDOW = $00080000;
  330. def IDCMP_DELTAMOVE = $00100000;
  331. def IDCMP_VANILLAKEY = $00200000;
  332. def IDCMP_INTUITICKS = $00400000;
  333.  
  334. def IDCMP_IDCMPUPDATE = $00800000;
  335. def IDCMP_MENUHELP = $01000000;
  336. def IDCMP_CHANGEWINDOW = $02000000;
  337.  
  338. def IDCMP_GADGETHELP = $04000000;
  339.  
  340. def IDCMP_LONELYMESSAGE = $80000000;
  341.  
  342. def CWCODE_MOVESIZE = $0000;
  343. def CWCODE_DEPTH = $0001;
  344.  
  345. def MENUHOT = $0001;
  346. def MENUCANCEL = $0002;
  347. def MENUWAITING = $0003;
  348.  
  349. def OKOK = MENUHOT;
  350. def OKABORT = $0004;
  351. def OKCANCEL = MENUCANCEL;
  352.  
  353. def WBENCHOPEN = $0001;
  354. def WBENCHCLOSE = $0002;
  355.  
  356. struct IBox is
  357.   Left:word;
  358.   Top:word;
  359.   Width:word;
  360.   Height:word;
  361. ;
  362.  
  363. struct Window is
  364.   NextWindow:ulong;
  365.   LeftEdge,TopEdge:word;
  366.   Width,Height:word;
  367.   MouseY,MouseX:word;
  368.   MinWidth,MinHeight:word;
  369.   MaxWidth,MaxHeight:uword;
  370.   Flags:ulong;
  371.   MenuStrip:ulong;
  372.   Title:ulong;
  373.   FirstRequest:ulong;
  374.   DMRequest:ulong;
  375.   ReqCount:word;
  376.   WScreen:ulong;
  377.   RPort:ulong;
  378.   BorderLeft,BorderTop,BorderRight,BorderBottom:byte;
  379.   BorderRPort:ulong;
  380.   FirstGadget:ulong;
  381.   Parent:ulong;
  382.   Descendant:ulong;
  383.   Pointer:ulong;
  384.   PtrHeight:byte;
  385.   PtrWidth:byte;
  386.   XOffset,YOffset:byte;
  387.   IDCMPFlags:ulong;
  388.   UserPort:ulong;
  389.   WindowPort:ulong;
  390.   MessageKey:ulong;
  391.   DetailPen,BlockPen:ubyte;
  392.   CheckMark:ulong;
  393.   ScreenTitle:ulong;
  394.   GZZMouseX:word;
  395.   GZZMouseY:word;
  396.   GZZWidth:word;
  397.   GZZHeight:word;
  398.   ExtData:ulong;
  399.   UserData:ulong;
  400.   WLayer:ulong;
  401.   IFont:ulong;
  402.   MoreFlags:ulong;
  403. ;
  404.  
  405. def WFLG_SIZEGADGET = $00000001;
  406. def WFLG_DRAGBAR = $00000002;
  407. def WFLG_DEPTHGADGET = $00000004;
  408. def WFLG_CLOSEGADGET = $00000008;
  409.  
  410. def WFLG_SIZEBRIGHT = $00000010;
  411. def WFLG_SIZEBBOTTOM = $00000020;
  412.  
  413. def WFLG_REFRESHBITS = $000000c0;
  414. def WFLG_SMART_REFRESH = $00000000;
  415. def WFLG_SIMPLE_REFRESH = $00000040;
  416. def WFLG_SUPER_BITMAP = $00000080;
  417. def WFLG_OTHER_REFRESH = $000000c0;
  418.  
  419. def WFLG_BACKDROP = $00000100;
  420.  
  421. def WFLG_REPORTMOUSE = $00000200;
  422.  
  423. def WFLG_GIMMEZEROZERO = $00000400;
  424.  
  425. def WFLG_BORDERLESS = $00000800;
  426.  
  427. def WFLG_ACTIVATE = $00001000;
  428.  
  429. def WFLG_RMBTRAP = $00010000;
  430. def WFLG_NOCAREREFRESH = $00020000;
  431.  
  432. def WFLG_NW_EXTENDED = $00040000;
  433.  
  434. def WFLG_NEWLOOKMENUS = $00200000;
  435.  
  436. def WFLG_WINDOWACTIVE = $00002000;
  437. def WFLG_INREQUEST = $00004000;
  438. def WFLG_MENUSTATE = $00008000;
  439. def WFLG_WINDOWREFRESH = $01000000;
  440. def WFLG_WBENCHWINDOW = $02000000;
  441. def WFLG_WINDOWTICKED = $04000000;
  442.  
  443. def WFLG_VISITOR = $08000000;
  444. def WFLG_ZOOMED = $10000000;
  445. def WFLG_HASZOOM = $20000000;
  446.  
  447. def DEFAULTMOUSEQUEUE = (5);
  448.  
  449. struct NewWindow is
  450.   LeftEdge,TopEdge:word;
  451.   Width,Height:word;
  452.   DetailPen,BlockPen:ubyte;
  453.   IDCMPFlags:ulong;
  454.   Flags:ulong;
  455.   FirstGadget:ulong;
  456.   CheckMark:ulong;
  457.   Title:ulong;
  458.   Screen:ulong;
  459.   BitMap:ulong;
  460.   MinWidth,MinHeight:word;
  461.   MaxWidth,MaxHeight:uword;
  462.   Type:uword;
  463. ;
  464.  
  465. struct ExtNewWindow is
  466.   LeftEdge,TopEdge:word;
  467.   Width,Height:word;
  468.   DetailPen,BlockPen:ubyte;
  469.   IDCMPFlags:ulong;
  470.   Flags:ulong;
  471.   FirstGadget:ulong;
  472.   CheckMark:ulong;
  473.   Title:ulong;
  474.   Screen:ulong;
  475.   BitMap:ulong;
  476.   MinWidth,MinHeight:word;
  477.   MaxWidth,MaxHeight:uword;
  478.   Type:uword;
  479.   Extension:ulong;
  480. ;
  481.  
  482. def WA_Dummy = (TAG_USER+99);
  483.  
  484. def WA_Left = (WA_Dummy+$01);
  485. def WA_Top = (WA_Dummy+$02);
  486. def WA_Width = (WA_Dummy+$03);
  487. def WA_Height = (WA_Dummy+$04);
  488. def WA_DetailPen = (WA_Dummy+$05);
  489. def WA_BlockPen = (WA_Dummy+$06);
  490. def WA_IDCMP = (WA_Dummy+$07);
  491. def WA_Flags = (WA_Dummy+$08);
  492. def WA_Gadgets = (WA_Dummy+$09);
  493. def WA_Checkmark = (WA_Dummy+$0a);
  494. def WA_Title = (WA_Dummy+$0b);
  495. def WA_ScreenTitle = (WA_Dummy+$0c);
  496. def WA_CustomScreen = (WA_Dummy+$0d);
  497. def WA_SuperBitMap = (WA_Dummy+$0e);
  498. def WA_MinWidth = (WA_Dummy+$0f);
  499. def WA_MinHeight = (WA_Dummy+$10);
  500. def WA_MaxWidth = (WA_Dummy+$11);
  501. def WA_MaxHeight = (WA_Dummy+$12);
  502. def WA_InnerWidth = (WA_Dummy+$13);
  503. def WA_InnerHeight = (WA_Dummy+$14);
  504. def WA_PubScreenName = (WA_Dummy+$15);
  505. def WA_PubScreen = (WA_Dummy+$16);
  506. def WA_PubScreenFallBack = (WA_Dummy+$17);
  507. def WA_WindowName = (WA_Dummy+$18);
  508. def WA_Colors = (WA_Dummy+$19);
  509. def WA_Zoom = (WA_Dummy+$1a);
  510. def WA_MouseQueue = (WA_Dummy+$1b);
  511. def WA_BackFill = (WA_Dummy+$1c);
  512. def WA_RptQueue = (WA_Dummy+$1d);
  513. def WA_SizeGadget = (WA_Dummy+$1e);
  514. def WA_DragBar = (WA_Dummy+$1f);
  515. def WA_DepthGadget = (WA_Dummy+$20);
  516. def WA_CloseGadget = (WA_Dummy+$21);
  517. def WA_Backdrop = (WA_Dummy+$22);
  518. def WA_ReportMouse = (WA_Dummy+$23);
  519. def WA_NoCareRefresh = (WA_Dummy+$24);
  520. def WA_Borderless = (WA_Dummy+$25);
  521. def WA_Activate = (WA_Dummy+$26);
  522. def WA_RMBTrap = (WA_Dummy+$27);
  523. def WA_WBenchWindow = (WA_Dummy+$28);
  524. def WA_SimpleRefresh = (WA_Dummy+$29);
  525. def WA_SmartRefresh = (WA_Dummy+$2a);
  526. def WA_SizeBRight = (WA_Dummy+$2b);
  527. def WA_SizeBBottom = (WA_Dummy+$2c);
  528. def WA_AutoAdjust = (WA_Dummy+$2d);
  529. def WA_GimmeZeroZero = (WA_Dummy+$2e);
  530.  
  531. def WA_MenuHelp = (WA_Dummy+$2f);
  532.  
  533. def WA_NewLookMenus = (WA_Dummy+$30);
  534. def WA_AmigaKey = (WA_Dummy+$31);
  535. def WA_NotifyDepth = (WA_Dummy+$32);
  536.  
  537. def WA_Pointer = (WA_Dummy+$34);
  538. def WA_BusyPointer = (WA_Dummy+$35);
  539. def WA_PointerDelay = (WA_Dummy+$36);
  540. def WA_TabletMessages = (WA_Dummy+$37);
  541. def WA_HelpGroup = (WA_Dummy+$38);
  542. def WA_HelpGroupWindow = (WA_Dummy+$39);
  543.  
  544. def HC_GADGETHELP = (1);
  545.  
  546. include "inc/intuition/screens.inc";
  547. include "inc/intuition/preferences.inc";
  548.  
  549. struct Remember is
  550.   NextRemember:ulong;
  551.   RememberSize:ulong;
  552.   Memory:ulong;
  553. ;
  554.  
  555. struct ColorSpec is
  556.   ColorIndex:word;
  557.   Red:uword;
  558.   Green:uword;
  559.   Blue:uword;
  560. ;
  561.  
  562. struct EasyStruct is
  563.   es_StructSize:ulong;
  564.   es_Flags:ulong;
  565.   es_Title:ulong;
  566.   es_TextFormat:ulong;
  567.   es_GadgetFormat:ulong;
  568. ;
  569.  
  570. def MENUNUM(n) = ((n)&$1f);
  571. def ITEMNUM(n) = (((n)>>5)&$003f);
  572. def SUBNUM(n) = (((n)>>11)&$001f);
  573.  
  574. def SHIFTMENU(n) = ((n)&$1f);
  575. def SHIFTITEM(n) = (((n)&$3f)<<5);
  576. def SHIFTSUB(n) = (((n)&$1f)<<11);
  577.  
  578. def FULLMENUNUM(menu,item,sub) = (SHIFTSUB(sub)|SHIFTITEM(item)|SHIFTMENU(menu));
  579.  
  580. def SRBNUM(n) = ($08-((n)>>4));
  581. def SWBNUM(n) = ($08-((n)&$0f));
  582. def SSBNUM(n) = ($01+((n)>>4));
  583. def SPARNUM(n) = ((n)>>4);
  584. def SHAKNUM(n) = ((n)&$0f);
  585.  
  586. def NOMENU = $001f;
  587. def NOITEM = $003f;
  588. def NOSUB = $001f;
  589. def MENUNULL = $ffff;
  590.  
  591. def CHECKWIDTH = 19;
  592. def COMMWIDTH = 27;
  593. def LOWCHECKWIDTH = 13;
  594. def LOWCOMMWIDTH = 16;
  595.  
  596. def ALERT_TYPE = $80000000;
  597. def RECOVERY_ALERT = $00000000;
  598. def DEADEND_ALERT = $80000000;
  599.  
  600. def AUTOFRONTPEN = 0;
  601. def AUTOBACKPEN = 1;
  602. def AUTODRAWMODE = JAM2;
  603. def AUTOLEFTEDGE = 6;
  604. def AUTOTOPEDGE = 3;
  605. def AUTOITEXTFONT = NULL;
  606. def AUTONEXTTEXT = NULL;
  607.  
  608. def SELECTUP = (IECODE_LBUTTON|IECODE_UP_PREFIX);
  609. def SELECTDOWN = (IECODE_LBUTTON);
  610. def MENUUP = (IECODE_RBUTTON|IECODE_UP_PREFIX);
  611. def MENUDOWN = (IECODE_RBUTTON);
  612. def MIDDLEUP = (IECODE_MBUTTON|IECODE_UP_PREFIX);
  613. def MIDDLEDOWN = (IECODE_MBUTTON);
  614. def ALTLEFT = (IEQUALIFIER_LALT);
  615. def ALTRIGHT = (IEQUALIFIER_RALT);
  616. def AMIGALEFT = (IEQUALIFIER_LCOMMAND);
  617. def AMIGARIGHT = (IEQUALIFIER_RCOMMAND);
  618. def AMIGAKEYS = (AMIGALEFT|AMIGARIGHT);
  619.  
  620. def CURSORUP = $4c;
  621. def CURSORLEFT = $4f;
  622. def CURSORRIGHT = $4e;
  623. def CURSORDOWN = $4d;
  624. def KEYCODE_Q = $10;
  625. def KEYCODE_Z = $31;
  626. def KEYCODE_X = $32;
  627. def KEYCODE_V = $34;
  628. def KEYCODE_B = $35;
  629. def KEYCODE_N = $36;
  630. def KEYCODE_M = $37;
  631. def KEYCODE_LESS = $38;
  632. def KEYCODE_GREATER = $39;
  633.  
  634. def TABLETA_Dummy = (TAG_USER+$3a000);
  635. def TABLETA_TabletZ = (TABLETA_Dummy+$01);
  636. def TABLETA_RangeZ = (TABLETA_Dummy+$02);
  637. def TABLETA_AngleX = (TABLETA_Dummy+$03);
  638. def TABLETA_AngleY = (TABLETA_Dummy+$04);
  639. def TABLETA_AngleZ = (TABLETA_Dummy+$05);
  640. def TABLETA_Pressure = (TABLETA_Dummy+$06);
  641. def TABLETA_ButtonBits = (TABLETA_Dummy+$07);
  642. def TABLETA_InProximity = (TABLETA_Dummy+$08);
  643. def TABLETA_ResolutionX = (TABLETA_Dummy+$09);
  644. def TABLETA_ResolutionY = (TABLETA_Dummy+$0a);
  645.  
  646. struct TabletData is
  647.   td_XFraction,td_YFraction:uword;
  648.   td_TabletX,td_TabletY:ulong;
  649.   td_RangeX,td_RangeY:ulong;
  650.   td_TagList:ulong;
  651. ;
  652.  
  653. struct TabletHookData is
  654.   thd_Screen:ulong;
  655.   thd_Width:ulong;
  656.   thd_Height:ulong;
  657.   thd_ScreenChanged:long;
  658. ;
  659.  
  660.